#ifndef _MICG_USER_DEFINED_H_
#define _MICG_USER_DEFINED_H_

#ifndef MAKETEA_USER_DEFINED
#error "MAKETEA_USER_DEFINED macro undefined"
#endif

namespace MICG{
class Node;
class All;
class Macro;
class Signature;
class Formal_parameter;
class Rule;
class Expr;
class Body;
class Body_part;
class Identifier;
class Equals;
class Param;
class Interpolation;
class Macro_call;
class Callback;
class MACRO_NAME;
class TYPE_NAME;
class ATTR_NAME;
class STRING;
class C_CODE;
class Lookup;
class PARAM_NAME;
class None;

}

MAKETEA_USER_DEFINED(MICG::Node)
MAKETEA_USER_DEFINED(MICG::All)
MAKETEA_USER_DEFINED(MICG::Macro)
MAKETEA_USER_DEFINED(MICG::Signature)
MAKETEA_USER_DEFINED(MICG::Formal_parameter)
MAKETEA_USER_DEFINED(MICG::Rule)
MAKETEA_USER_DEFINED(MICG::Expr)
MAKETEA_USER_DEFINED(MICG::Body)
MAKETEA_USER_DEFINED(MICG::Body_part)
MAKETEA_USER_DEFINED(MICG::Identifier)
MAKETEA_USER_DEFINED(MICG::Equals)
MAKETEA_USER_DEFINED(MICG::Param)
MAKETEA_USER_DEFINED(MICG::Interpolation)
MAKETEA_USER_DEFINED(MICG::Macro_call)
MAKETEA_USER_DEFINED(MICG::Callback)
MAKETEA_USER_DEFINED(MICG::MACRO_NAME)
MAKETEA_USER_DEFINED(MICG::TYPE_NAME)
MAKETEA_USER_DEFINED(MICG::ATTR_NAME)
MAKETEA_USER_DEFINED(MICG::STRING)
MAKETEA_USER_DEFINED(MICG::C_CODE)
MAKETEA_USER_DEFINED(MICG::Lookup)
MAKETEA_USER_DEFINED(MICG::PARAM_NAME)
MAKETEA_USER_DEFINED(MICG::None)


#endif
